查看原文
其他

商业银行基于华为 OceanStor 18500 的关键业务同城切换实操手册

twt社区 twt企业IT社区 2022-07-03
【导读】本文以真实同城容灾切换演练为背景,详细分享行内关键业务系统在华为高端存储OceanStor 18500的详细配置与切换过程,最后对切换中的两个典型问题进行复盘与思考。

【导读】张鹏,原就职于IBM、DellEMC公司,从事小型机及存储技术支持10年+,在小型机、高端存储关键技术有深入研究,在容灾项目实施、性能监控与调优以及运维管理有丰富经验。目前就职金融银行3年+,从事行内及子公司的存储、备份、应用负载、数字签名等设备运维管理、项目实施工作,曾参与行内新一代核心系统建设、容灾建设与切换演练、影像平台升级改造、村镇银行核心系统迁移与容灾等项目


一、同城容灾存储切换背景

为满足监管机构对中小银行机构业务连续性管理工作的要求,同时有效保障我行应对运营中断事件的处置能力,验证核心系统同城容灾环境业务承载能力。为确保各重要信息系统完成实际业务接管的容错容灾应急切换演练,计划选择人行维护窗口(2020年9月20日)进行全渠道业务连续性专项应急演练。


二、关键业务同城容灾切换目标

近期,监管机构对中小银行机构业务连续性管理工作的高度重视与持续关注,2019年银保监办发【2019】221号文,和银保监办发【2019】332号文对《中国银保监会办公厅关于开展中小银行机构业务连续性相关风险政治工作的通知》进行详细要求,提出明确的建设目标和完成时限。要求各银行机构对业务连续性日常管理、资源建设和应急处置相关问题应于2020年末前完成整改,业务连续性演练问题应于2021年末前完成整改,并确保在此期间重要信息系统至少完成一次真实接管业务的灾备切换演练。

我行结合自身容灾建设实际情况,在充分考虑满足监管要求下,着手启动9月20日行内以及子公司重要业务系统容错容灾应急演练工作,既是对我行业务连续性管理工作的一次实战检验,更是对监管要求的一次自我差距测评。该演练以检验我行业务连续性管理工作水平,提升我行信息系统容错容灾应急处置能力为首要目标。同时,以本次演练为契机和标准,常态化开展信息科技容错容灾体系建设及实战化演练,确保我行重要业务安全、稳定、持续运营。


三、基于华为OceanStor 18500的容灾架构设计与实现

3.1 存储容灾架构设计

此次涉及容灾切换的系统有33套核心及重要系统,各自配置了相应的存储及数据库等复制方式进行切换。本次通过华为18500进行容灾切换的系统主要有短信平台数据库和网银数据库。最初仅有数据主中心建立了生产系统,运行一段时间后,容灾中心进行存储扩容与物理搬迁,后与主中心配置存储远程复制,后续将详细介绍存储复制配置与切换中的具体操作。

3.2 存储同步远程复制配置

同步远程复制能够保证每个Pair内LUN数据的一致性。配置同步远程复制之前需要了解整个配置的流程和检查远程复制的License文件,然后再配置链路的连通性和同步远程复制的相关参数。

  • 检查License文件

配置前需要检查存储系统的License是否未导入或已过期。如果License未导入或已过期,远程复制功能将不可用。

步骤1 进入“License管理”界面。

步骤2 浏览已激活License信息

如果“已激活License”页签中包含远程复制特性的信息,且“运行截至日期”晚于当前日期,则说明远程复制特性可用。如果没有适用的远程复制License,则需要联系原厂申请并导入License文件。

  • 增加远端设备

通过该操作,建立本端设备和远端设备之间的逻辑连接,用于设备之间的数据传输,本端设备和远端设备之间的链路有FC和iSCSI两种类型,远端设备有本厂商和第三方厂商两种类型,本次实施采用FC/本厂商类型。

在FC的网络环境中,添加远端设备前,请先清除交换机上和存储相连的端口Zone配置信息。在创建Zone时,建议每两个端口处于同一个Zone,以防止Zone中端口过多导致远端链路超出系统规格。存储系统每个控制器与远端设备之间最多支持8条可用的链路,且添加远端设备时最多使用2条链路。

步骤:数据保护-远端设备-增加远端设备-增加远端设备向导

输入用户名/密码:mm_user/ mm_user@storage之后,系统显示汇总信息后,系统弹出“执行结果”提示框,提示操作成功,添加远端设备时存储系统之间只有一条链路被选择,为了使链路冗余,需要在添加完远端设备成功后手动增加链路。

  • 创建同步远程复制

创建同步远程复制主要包括:配置远程复制的基本信息、选择远程复制的主LUN和从LUN、设置远程复制的属性值。请根据页面提示创建远程复制。需要注意的条件与事项主要有:本端复制主LUN不能是二级快照,不是克隆从LUN,不是LUN拷贝的目标LUN,没有在做快照回滚LUN等;远端设备上创建从LUN与主LUN容量必须相等,且映射给主机的LUN不能做远程复制从LUN;

步骤:数据保护-远程复制-创建-创建远程复制向导-同步模式-主LUN区域选择远程复制的主LUN-从LUN区域下选择远程复制所需从LUN-添加到Pair列表-设置同步远程复制的属性值-确认创建远程复制的操作

 

在“速率”下拉列表框中,选择主LUN和从LUN进行同步的速率:

– “低”:同步速率为低,花费时间较长,适合在系统业务繁忙的时候使用。速率通常为0~5MB/秒。

– “中”:同步速率为中,花费时间较短,适合在系统业务较繁忙的时候使用。速率通常为10~20MB/秒。(默认值)

– “高”:同步速率为高,花费时间短,适合在系统业务较空闲的时候使用。速率通常为50~70MB/秒。

– “最快”:同步速率为最快,花费时间最短,适合在系统业务空闲的时候使用。速率通常为100MB/秒以上。

在“恢复策略”下拉列表框中,选择当远程复制内部I/O故障消除或复制链路恢复后,远程复制Pair是否自动同步数据。

– “手动”:Pair进入“待恢复”状态,您需要手动对远程复制Pair进行同步操作,使主从LUN数据同步。

– “自动”:Pair进入“正在同步”状态,系统自动同步主从LUN数据。(默认值)

选择远程复制初始同步的方式

–“主从LUN数据不一致,创建完成后自动同步”:远程复制创建完成后,从LUN数据将立即被覆盖,请确保从LUN数据不再使用或已备份。(默认值)

–“主从LUN数据不一致,创建完成后手动同步”:远程复制创建完成后,请尽快手动同步主从LUN数据,以确保主从LUN数据一致。

–“主从LUN数据一致,无需同步”:请确保主从LUN数据一致,否则主LUN故障时将无法从从LUN恢复数据或接管业务,从而导致数据丢失或业务中断。

可选:选择“启用从LUN IO超时时间”并设置“超时时间(秒)”

经过设置的超时时间后,如果数据未成功写入从LUN,则远程复制Pair进入“异常断开”状态。超时时间取值范围为10~30秒。默认值为30秒。

  • 创建一致性组、添加远程复制

远程复制可以实现主机在单个或多个独立主LUN进行写操作后数据的容灾备份,但是无法保证在灾难恢复时,主机在跨多个非独立主LUN进行写操作后数据的容灾和备份。一致性组可以保证组内所有远程复制Pair的从LUN数据在时间上的一致性(例如,所有从LUN数据都是其主LUN在今日下午三点的数据副本),从而确保灾难恢复时主LUN数据的可用性。

步骤:远程复制-远程复制一致性组-创建-配置一致性组的属性-为一致性组添加远程复制Pair-确认创建一致性组的操作


四、容灾切换操作

4.1 主从存储数据首次同步

主从存储远程复制首次同步需要考虑复制时间,复制速率上限以及远程复制对原卷的业务影响等因素,根据业务特点和要求,通过对一致性组的操作组合与状态确认,完成首次全量同步。

同步一致性组操作,可以启动一致性组中所有远程复制Pair同时进行同步操作,使每一个远程复制Pair的主从LUN数据在同步时间点上保持一致,以保证数据库与应用程序在使用这些LUN数据时的有效性。需要注意,该操作只能在一致性组的主设备上进行操作,且需要确认已启动从资源保护(只读),其他操作条件则需要根据一致性组当前的状态来判断,状态如下所示。

操作步骤:远程复制-远程复制一致性组-选择后右键同步-勾选确认,在对数据进行全量备份之后,选择业务低峰期窗口进行开始网银数据库与短信平台数据库首次全量同步复制的动作,按照FC交换机级联端口8Gbps(波分设备DWDM设备支持模块速率上限为8Gbps),上限传输速率在1GB/s以内,出于安全需要选择“高”同步速率进行同步,实测短信平台数据库单LUN(2TB)同步时间在8小时,平均速度在69-97MB/s;网银数据库1.8TB逻辑卷(1.8TB300GB*6),以“最快”模式进行同步,实测时间为2小时左右,同步速度在200MB/s以上,同步完成后,由于短时间主库数据变化量没有很大,将同步速率统一调整为“中”级,同步速率在6-9MB/s量级,保证业务在高峰期对数据库的访问性能,另以内外只要主、从资源状态均保持为“已同步”则无需调整该同步模式,直至容灾端业务验证或进行容灾主从切换动作。

4.2 主从分裂进行容灾端部署与业务测试

首次全量远程复制同步完成后,配合容灾端在切换前进行基础环境集成部署,业务测试和容灾切换预演等操作,通过该操作,可以使一致性组中所有远程复制Pair同时进行分裂操作,为所有远程复制Pair的从LUN生成在某时间点上的一份完整拷贝,以便应用这些数据进行主机集群软件配置(资源组添加与同步等)、数据库与中间件启动测试、切换过程中容灾侧业务启动脚本测试等操作。

根据一致性组的“运行状态”判断是否可以执行一致性组远程复制的分裂操作。

分裂步骤:远程复制-远程复制一致性组-选择后右键“分裂”-勾选确定-完成分裂

之后还需要取消远程复制从 LUN 写保护,可使容灾端一致性组中所有从LUN可以被重新写入数据。该操作只能在一致性组中所有Pair分裂或链路断开的异常断开状态下执行,操作步骤:远程复制-远程复制一致性组-选择并右键-取消从LUN写保护-成功-确定。

4.3 存储同城容灾切换与回切操作

如果仅仅在容灾端验证数据,则可以通过对容灾端从卷进行克隆,使用克隆从卷进行业务验证,这样不影响主从卷同步复制,操作风险较小。但本次容灾切换演练的场景要求核心及关键业务系统在容灾端运行时间较去年要更长,接近至少接近24小时,因此存储需要配合数据库以及业务在容灾端将从端切换为主端,原来主端变为从端提供对主端数据的远程复制保护;业务在容灾端平稳运行一天之后,按照原有切换方式再操作一次,完成回切操作。

主从存储远程复制一致性组状态为“正常”时,接到总调度进行存储切换命令之后,按照步骤:分裂-取消从LUN写保护之后,容灾端业务验证成功之后,执行“一致性组主从切换”-“启用一致性组从 LUN 写保护”-“同步一致性组”操作,完成以原容灾侧存储为主,至原生产侧存储为从的新同步关系建立。

  • 一致性组主从切换步骤

执行该操作的存储状态仅有一致性组状态正常且从LUN数据状态“已同步”,或一致性组状态分裂且从LUN数据状态完整时才可以执行成功。步骤为:远程复制-远程复制一致性组-选择一致性组-右键-主从切换-勾选并确定,执行成功后,查看主从LUN角色互换。

  • 启用一致性组从 LUN 写保护步骤

执行该操作需要一致性组状态“分裂”,且从LUN状态“完整”,或一致性组“异常断开”(链路断开),从LUN状态“完整”两种状态条件下可行,步骤:远程复制-远程复制一致性组选择-选择一致性组-右键-启用从LUN写保护-确定,操作后,从端无法写入保护LUN数据安全。

同步一致性组步骤与全同步一致,但数据传输方向与原来对调,而且同步数据为增量数据,数据变化量计算应从分裂之后开始,至开始同步之间的变化量,因此变化量并不会很大,很快同步完成后,提供业务在容灾验证一天时间的远程复制保护。

反向回切的步骤与上面类似,不过所操作存储的设备为容灾端为主,虽然容灾端18500V1与18500V3界面稍有所不同,但并不影响操作。

4.4 存储命令行CLI方式操作

为对接容灾切换的自动化与标准化,特整理并验证通过CLI方式对一致性组的操作组合与状态查询,实现半自动化容灾切换的目的。

  • 一致性组状态查询与关键状态参数

一致性组的ID、名字、健康状态、运行状态、恢复策略、复制模式、当前角色都可以同时直观展示出来,各状态作为一致性组操作的基础和结果的验证。

  • 演练所需存储切换命令与预期结果

分裂动作:

change consistency_group split consistency_group_id=488eefd618260000-#输入y确认

取消从端写保护:

change consistency_group general consistency_group_id=488eefd618260000 second_res_access=read_write,

操作后查询Second LUN Access由Read Only变为read_write。

主从切换:

swap consistency_group consistency_group_id=488eefd618260000 #输入2次y确认

show consistency_group general consistency_group_id=488eefd618260000,Running Status为 Splited,

主端变为Secondary,从端变为Primary

登录对端发起反向同步:

change consistency_group synchronize consistency_group_id=488eefd618260000 #输入2次y确认

状态由同步中Synchronizing,变为Synchronized


五、存储容灾切换经验总结

本次同城容灾切换目标均顺利达成,为关键系统同城容灾切换演练提供有力支持,为整体自动化切换脚本提供命令行操作的标准步骤,为后续关键业务的容灾建设提供存储复制的底层平台。但复盘切换过程中的问题,发现通过WEB GUI在切换过程中,不仅需要存储复制速率的进度条显示,还需要具体的实时速率;另外集成过程中,考虑是否可以减少存储复制端口数量,每个控制器只分配单个远程复制端口,但最后还是按照最佳实践共分配4端口,至于上面两个问题的原因,有一些思考。

5.1 主从存储数据同步速度监测

由于在存储远程复制的过程中,图形WEB界面中仅能看到进度条,而同步速度和带宽占用等参数很难量化,进而准确估算同步时间,因此可以通过CLI进行查看:

四个字段分别代表压缩物理带宽,上次同步状态的时间差,未压缩逻辑带宽以及同步持续时间。

此外,也可以通过存储级联端口速率和光交连接波分端口速率,查看存储总体(各一致性组的总和)远程复制速率以及波分链路总体带宽的使用情况。由于波分链路仅承载华为存储远程复制,因此交换机与远程级联端口速率即为华为远程复制端口流量总和。

同步速率选择为中级时,portperfshow显示级联端口速率6-9MB/s;选择高的时候,级联端口速率97-99MB/s,与速率理论范围匹配。

5.2 最少配置4个存储远程端口的原因探究

以容灾切换当日前后时间内,存储复制FC端口性能来看,四个端口性能为按控制器划分的两两一组走势相同,而不是所有端口走势完全一致。

与上图复制各端口流量一致不同的是,华为OceanStor 18500存储复制IO与负载并没有均分在前端口,而是按照控制器来区分,主要原因是各LUN有各自专属控制器,同样远程复制链路也会选择LUN所在的专属控制器进行复制,虽然在两个FC Fabric的交换机上看流量比较均衡,是因为每个控制器分别连接两个交换机,进而均衡带宽,但如果LUN在专属控制器的数量、大小、访问情况分布不均匀,就会形成两个控制器远程复制带宽与IOPS不均衡的情况,为提高带宽利用率和避免因单侧FC级联交换机/波分故障导致专属控制器发生切换的情况,每个控制器至少需要两个端口与远端对应控制器相连接,这就是初步原因的探究。那么深一层的内部磁盘与控制器之间的总线结构与共享模式以及控制器的A-A双活架构更新,在华为新一代的产品OceanStor 18500 V6中会就此进行优化升级。

点击文末阅读原文,可以到原文下留言交流

觉得本文有用,请转发、点赞或点击“在看”,让更多同行看到


 资料/文章推荐:


欢迎关注社区 “双活”技术主题 ,将会不断更新优质资料、文章。地址:https://www.talkwithtrend.com/Topic/71


下载 twt 社区客户端 APP


长按识别二维码即可下载

或到应用商店搜索“twt”


长按二维码关注公众号

*本公众号所发布内容仅代表作者观点,不代表社区立场

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存